Questão 24 - HCPA 2019 - ANALISTA DE TI (QUALIDADE DE SOFTWARE)
questão 24 comando sql
Veja abaixo como resolver a questão sobre os relacionamentos em comandos SQL.
Instrução: Para responder às questões 24 e 25, considere a seguinte tabela de pacientes em um banco de dados Oracle.
CODIGO NOME DATA_CADASTRO MAE_CODIGO
100 JOAO DA SILVA 01/03/2019 12:31:15 102
101 JOSE DA SILVA 01/03/2019 12:31:59 102
102 MARIA DA SILVA 01/03/2019 12:40:35 105
103 JOAO SANTOS 02/03/2019 13:20:05 NULL
104 JOSE SANTOS 02/03/2019 13:20:30 NULL
105 MARIA SANTOS 10/03/2019 13:20:59 NULL
24. Observe os comandos, a seguir, executados no banco de dados Oracle.
I - SELECT PAC.CODIGO, PAC.NOME, PAC.MAE_CODIGO, MAE.NOME AS NOME_MAE FROM PACIENTES PAC INNER
JOIN PACIENTES MAE ON PAC.MAE_CODIGO = MAE.CODIGO;
II - SELECT PAC.CODIGO, PAC.NOME, PAC.MAE_CODIGO, MAE.NOME AS NOME_MAE FROM PACIENTES PAC, PACIENTES
MAE WHERE PAC.MAE_CODIGO = MAE.CODIGO;
III - SELECT PAC.CODIGO, PAC.NOME, PAC.MAE_CODIGO, MAE.NOME AS NOME_MAE FROM PACIENTES PAC LEFT
OUTER JOIN PACIENTES MAE ON PAC.MAE_CODIGO = MAE.CODIGO;
IV - SELECT PAC.CODIGO, PAC.NOME, PAC.MAE_CODIGO, MAE.NOME AS NOME_MAE FROM PACIENTES PAC RIGHT
OUTER JOIN PACIENTES MAE ON PAC.MAE_CODIGO = MAE.CODIGO;
Quais comandos podem apresentar o nome da mãe do paciente?
(A) Apenas II.
(B) Apenas I e II.
(C) Apenas I e III.
(D) Apenas I, II e III.
(E) I, II, III e IV.
Questão 24: Comandos SQL para Retornar Dados Relacionados
Nesta questão, analisamos diferentes comandos SQL executados em um banco de dados Oracle para retornar informações relacionadas entre pacientes e suas mães. Vamos verificar cada comando:
I - INNER JOIN: Realiza uma junção interna entre a tabela de pacientes e a tabela de mães com base no código da mãe. Este comando retorna apenas os registros que possuem um código de mãe correspondente na tabela de mães.
II - WHERE clause: Realiza uma junção implícita entre as tabelas de pacientes e mães com base no código da mãe. Funciona de forma semelhante ao INNER JOIN, mas usando a cláusula WHERE para especificar a condição de junção.
III - LEFT OUTER JOIN: Realiza uma junção externa à esquerda entre pacientes e mães, retornando todos os registros da tabela de pacientes, mesmo que não haja correspondência na tabela de mães.
IV - RIGHT OUTER JOIN: Realiza uma junção externa à direita, retornando todos os registros da tabela de mães, mesmo que não haja correspondência na tabela de pacientes.
Considerando que a mãe de um paciente pode estar ausente na tabela de pacientes, apenas os comandos I e III podem apresentar o nome da mãe do paciente. Portanto, a alternativa correta é (C) Apenas I e III.
Para entender esses conceitos, é importante estudar os diferentes tipos de junção em SQL (INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN) e como eles funcionam em consultas relacionadas.
Inglês técnico:
INNER JOIN
Significado: Junção Interna.
Aplicação: O INNER JOIN é utilizado para combinar linhas de duas ou mais tabelas com base em uma condição de correspondência especificada. Essa condição é geralmente estabelecida com a cláusula ON, onde as colunas das tabelas envolvidas são comparadas para determinar as linhas que devem ser combinadas. O INNER JOIN retorna apenas as linhas que possuem correspondência em ambas as tabelas envolvidas na junção. Por exemplo, ao executar a consulta SELECT pedidos.id, clientes.nome FROM pedidos INNER JOIN clientes ON pedidos.cliente_id = clientes.id, estamos combinando as tabelas de pedidos e clientes com base no ID do cliente, retornando apenas os pedidos que têm uma correspondência na tabela de clientes.
LEFT OUTER JOIN
Significado: Junção Externa à Esquerda.
Aplicação: O LEFT OUTER JOIN é utilizado para combinar todas as linhas da tabela à esquerda (tabela especificada antes do JOIN) com as linhas correspondentes da tabela à direita (tabela especificada após o JOIN), e retorna NULL para as colunas da tabela à direita quando não há correspondência. Isso significa que mesmo que não haja correspondência na tabela à direita, todas as linhas da tabela à esquerda serão incluídas no resultado. O LEFT OUTER JOIN é útil quando se deseja incluir todas as informações de uma tabela, independentemente de haver uma correspondência na tabela relacionada. Por exemplo, ao executar a consulta SELECT clientes.nome, pedidos.id FROM clientes LEFT OUTER JOIN pedidos ON clientes.id = pedidos.cliente_id, estamos recuperando todos os clientes, mesmo aqueles que ainda não fizeram pedidos.
RIGHT OUTER JOIN
Significado: Junção Externa à Direita.
Aplicação: O RIGHT OUTER JOIN é semelhante ao LEFT OUTER JOIN, mas garante que todas as linhas da tabela à direita (tabela especificada após o JOIN) sejam incluídas no resultado, independentemente de haver uma correspondência na tabela à esquerda. Quando não há correspondência na tabela à esquerda, são retornados valores NULL para as colunas da tabela à esquerda. O RIGHT OUTER JOIN é menos comum que o LEFT OUTER JOIN, mas pode ser útil em certas situações onde se deseja garantir a inclusão de todas as linhas de uma tabela específica. Por exemplo, ao executar a consulta SELECT pedidos.id, clientes.nome FROM pedidos RIGHT OUTER JOIN clientes ON pedidos.cliente_id = clientes.id, estamos recuperando todos os pedidos, mesmo aqueles que não têm um cliente correspondente.
Em resumo, dominar esses comandos SQL essenciais capacita os desenvolvedores e analistas de banco de dados a recuperar e manipular dados de forma eficiente, otimizando o desempenho do banco de dados e aumentando a produtividade geral.
Leia mais em: onteudo.portalfaurgs.com.br/a...